
package cn.domypay.back.service;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

@WebService(name = "SHJbywImpl", targetNamespace = "http://localhost:8080/soa/services/ISHJbyw")
@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface SHJbywImpl {

	public final static String targetUrl = "http://localhost:8080/soa/services/ISHJbyw";
	
	/**
	 * 商户账户充值 （户通）
	 * 
	 * @param strAuthInfo VARCHAR2	30	N	认证令牌字符串
	 * @param strXtbh VARCHAR2	30	N	系统编号
	 * @param strYhbh VARCHAR2	30	N	银行编号
	 * @param strYhzhkh VARCHAR2	32	N	银行账号或卡号
	 * @param strYhzhhm VARCHAR2	60	N	银行账号户名
	 * @param czje NUMBER	12，2(精确到小数点后两位)	N	充值金额
	 * @return
	 */
	@WebMethod(operationName = "zhCZ", action = "")
	@WebResult(name = "zhCZReturn", targetNamespace = targetUrl)
	public String zhCZ(
			@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
			String strAuthInfo,
			@WebParam(name = "strXtbh", targetNamespace = targetUrl)
			String strXtbh,
			@WebParam(name = "strYhbh", targetNamespace = targetUrl)
			String strYhbh,
			@WebParam(name = "strYhzhkh", targetNamespace = targetUrl)
			String strYhzhkh,
			@WebParam(name = "strYhzhhm", targetNamespace = targetUrl)
			String strYhzhhm,
			@WebParam(name = "czje", targetNamespace = targetUrl)
			float czje);

	/**
	 * 移动充值  2,2,2...机制不返回移动充值最终结果
	 * 
	 * @param strAuthInfo VARCHAR2	30	N	认证令牌字符串
	 * @param strShlsh VARCHAR2	20	N	商户流水号
	 * @param strZdhm VARCHAR2	15	N	终端号码
	 * @param strBczsjh VARCHAR2	15	N	被充值手机号码
	 * @param czje NUMBER	12，2(精确到小数点后两位)	N	充值金额
	 * @param strJymm VARCHAR2	32	N	交易密码
	 * @return
	 */
	@WebMethod(operationName = "ydCZ", action = "")
	@WebResult(name = "ydCZReturn", targetNamespace = targetUrl)
	public String ydCZ(
			@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
			String strAuthInfo,
			@WebParam(name = "strShlsh", targetNamespace = targetUrl)
			String strShlsh,
			@WebParam(name = "strZdhm", targetNamespace = targetUrl)
			String strZdhm,
			@WebParam(name = "strBczsjh", targetNamespace = targetUrl)
			String strBczsjh,
			@WebParam(name = "czje", targetNamespace = targetUrl)
			float czje,
			@WebParam(name = "strJymm", targetNamespace = targetUrl)
			String strJymm);

	/**
	 * 商户帐户充值 批量代扣（农行）
	 * 
	 * @param strAuthInfo VARCHAR2	30	N	认证令牌字符串
	 * @param zdhm VARCHAR2	15	N	终端号码
	 * @param password varchar2 32 N 交易密码
	 * @param czje NUMBER	12，2(精确到小数点后两位)	N	充值金额
	 * @return
	 */
	@WebMethod(operationName = "zhCZNH", action = "")
	@WebResult(name = "zhCZNHReturn", targetNamespace = targetUrl)
	public String zhCZNH(
			@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
			String strAuthInfo,
			@WebParam(name = "zdhm", targetNamespace = targetUrl)
			String zdhm,
			@WebParam(name = "password", targetNamespace = targetUrl)
			String password,
			@WebParam(name = "czje", targetNamespace = targetUrl)
			float czje);

	/**
	 * 返回商户帐户余额
	 * 
	 * @param strAuthInfo VARCHAR2	30	N	认证令牌字符串
	 * @return
	 */
	@WebMethod(operationName = "zhSHXX", action = "")
	@WebResult(name = "zhSHXXReturn", targetNamespace = targetUrl)
	public String zhSHXX(
			@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
			String strAuthInfo);

	/**
	 * 移动调帐申请
	 * 
	 * @param strAuthInfo VARCHAR2	30	N	认证令牌字符串 
	 * @param mistakeId number 　12 　N 　充值ID(误充ID)
	 * @param reasons varchar2	500	N 调帐原因
	 * @param phoneNum varchar2	15	N	调入手机号
	 * @return
	 */
	@WebMethod(operationName = "ydTZCL", action = "")
	@WebResult(name = "ydTZCLReturn", targetNamespace = targetUrl)
	public String ydTZCL(
			@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
			String strAuthInfo,
			@WebParam(name = "mistakeId", targetNamespace = targetUrl)
			String mistakeId,
			@WebParam(name = "reasons", targetNamespace = targetUrl)
			String reasons,
			@WebParam(name = "phoneNum", targetNamespace = targetUrl)
			String phoneNum);

	/**
	 * 修改商户支付密码
	 * 
	 * @param strAuthInfo -- strAuthinfo参数是必需的，它是一个包含了认证令牌字符串
	 * @param strYJymm -- strYJymm参数是必需的，原支付密码
	 * @param strXJymm  -- strXJymm参数是必需的，需要更改的新支付密码
	 * @return
	 */
	@WebMethod(operationName = "xgJymm", action = "")
	@WebResult(name = "xgJymmReturn", targetNamespace = targetUrl)
	public String xgJymm(
			@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
			String strAuthInfo,
			@WebParam(name = "strYJymm", targetNamespace = targetUrl)
			String strYJymm,
			@WebParam(name = "strXJymm", targetNamespace = targetUrl)
			String strXJymm);
	
	/**
	 * 调帐结果查询
	 * 
	 * @param strAuthInfo VARCHAR2	30	N	认证令牌字符串 
	 * @param phoneNum varchar2	15	Y	调入手机号
	 * @param begin number 10 N 查询起始条数
	 * @param end number 10 N 查询结束条数
	 * @return
	 */
	@WebMethod(operationName = "ydTZCX", action = "")
	@WebResult(name = "ydTZCXReturn", targetNamespace = targetUrl)
	public String ydTZCX(
			@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
			String strAuthInfo,
			@WebParam(name = "phoneNum", targetNamespace = targetUrl)
			String phoneNum,
			@WebParam(name = "begin", targetNamespace = targetUrl)
			int begin,
			@WebParam(name = "end", targetNamespace = targetUrl)
			int end);
	
	/**
	  * 移动充值  2,2,2...机制返回移动充值最终结果
	  *
	  * strAuthInfo	VARCHAR2	30	N	认证令牌字符串
	  * shlsh	VARCHAR2	20	N	商户流水号
	  * zdhm	VARCHAR2	15	N	终端号码
	  * bczsjh	VARCHAR2	15	N	被充值手机号码
	  * czje	NUMBER	12，2(精确到小数点后两位)	N	充值金额
	  * jymm	VARCHAR2	32	N	交易密码
	  *
	  * @return Map
	  */
	@WebMethod(operationName = "ydCZ_ResRrn", action = "")
	@WebResult(name = "ydCZ_ResRrnReturn", targetNamespace = targetUrl)
	public String ydCZ_ResRrn(
		@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
		String strAuthInfo,
		@WebParam(name = "strShlsh", targetNamespace = targetUrl)
		String strShlsh,
		@WebParam(name = "strZdhm", targetNamespace = targetUrl)
		String strZdhm,
		@WebParam(name = "strBczsjh", targetNamespace = targetUrl)
		String strBczsjh,
		@WebParam(name = "czje", targetNamespace = targetUrl)
		float czje,
		@WebParam(name = "strJymm", targetNamespace = targetUrl)
		String strJymm
	);
	
	/**
	    * 根据商户流水号查询充值状态
	    * strAuthInfo	VARCHAR2	30	N	认证令牌字符串
	    * strSHLSH varchar2 12 N 商户流水号
	    */
	@WebMethod(operationName = "jyZTCX", action = "")
	@WebResult(name = "jyZTCXReturn", targetNamespace = targetUrl)
	public String jyZTCX(
		@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
		String strAuthInfo,
		@WebParam(name = "strSHLSH", targetNamespace = targetUrl)
		String strSHLSH		
	);
}
